Hypertext linking has become an extremely popular manner for interfacing with a computer due to its intuitiveness, simplicity and efficiency. With hypertext linking, a user is permitted to navigate between documents and/or between different locations in the same document simply by moving a pointer over a hypertext link and selecting the hypertext link by depressing a key or button (a process known as “pointing and clicking”).
Hypertext links often include text that is embedded within a text string that is highlighted to identify the text as a hypertext link. As such, a user is often able to navigate by directly selecting the text from a portion of a text string. For example, a text string such as “the winner of the 1973 Kentucky Derby was Secretariat” might have a hypertext link defined for the word “Secretariat”, such that a user might be able to view a separate document with Secretariat's career racing statistics simply by pointing and clicking on the word “Secretariat”.
A principal use of hypertext linking is in retrieving information from the Internet, and specifically, a portion of the Internet known as the World Wide Web (“the Web”). Moreover, due to the ever-increasing popularity of the Web, many private networks, as well as other applications local to a user's workstation, now use hypertext linking to access and navigate between documents. Documents are typically formatted using a standard language known as the Hypertext Markup Language (HTML), and are viewed using a computer software application known as a web or hypertext browser, Browsers typically display all or a portion of a particular document in one or more graphical windows.
One problem associated with hypertext linking is that there has been no manner of controlling the relative alignment of hypertext links displayed in close proximity to one another. With HTML, for example, embedded hypertext links are simply treated as highlighted text within a text string, with the text string automatically wrapped, or split, at the end of each display line. The displayed representations of HTML documents are typically generated (rendered) dynamically, and as a result, the displayed representations, and most notably the display positions of hypertext links, are dependent upon a number of factors, e.g., the type of computer system, the display size and resolution, the dimensions of the window in which a document is displayed, the size, type and attributes of the display fonts for the text string and the hypertext links, etc. Moreover, if any of these factors are changed, the displayed representations may also change. Consequently, it is often impossible to predict and/or control precisely how a number of hypertext links line up relative to one another on a particular user's display.
The inability to precisely control the display positions of hypertext links can create several difficulties for users in different circumstances. For example, one difficulty that has arisen with respect to hypertext linking is that it can become difficult to accurately navigate using hypertext links when multiple links are displayed in close proximity to one another. When the text for hypertext links is relatively small, for example, it is not uncommon for a user to accidently point and click on another hypertext link that is adjacent to the intended link, which often results in navigation to the wrong location. A user may not recognize his or her error, which may result in later confusion for the user. Moreover, even if the user does recognize the error, retrieval of an incorrect document has already been initiated when the error is discovered, which may take several seconds or even minutes to load the document, often wasting a significant amount of a user's time. While a user often has the ability to terminate retrieval of a document, such a step requires separate user input that distracts the user and similarly wastes time. As a result, selection of an unintended hypertext link can be extremely frustrating for many users.
Another difficulty that can arise with respect to hypertext linking is any misalignment of some types of links displayed in close proximity to one another. For example, in certain applications, it may be desirable to group together a number of related hypertext links, e.g., when it is desired to quickly select several hypertext links in sequence. Due to the inability to precisely control the display positions of such links, however, the links may be somewhat misaligned relative to one another. This may produce undesirable aesthetic effects, as well as adversely impact a user's efficiency due to an excessive amount of pointer movement required to select the links.
Many desktop publishing and word processing applications, among others, permit a user to precisely control where text, images and other displayed objects are displayed relative to one another. However, these applications typically create static documents that are rendered in the same manner on all computer systems, and with the same relative orientation of the displayed objects. As a result, such applications typically do not address the need to modify the relative alignment of hypertext links within a dynamically-rendered document where the resulting displayed representation of the document can vary from system to system.
Therefore, a significant need exists for a manner of controlling the relative alignment of hypertext links to one another, and in particular, a manner of controlling the relative alignment of hypertext links in dynamically-rendered documents.